package com.kaili.basic.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.pojo.dto.MdmApplicationModifyDto;
import com.kaili.basic.pojo.dto.MdmApplicationQueryDto;
import com.kaili.basic.pojo.entity.MdmApplication;
import com.kaili.basic.pojo.entity.MdmApplicationExport;
import com.kaili.basic.pojo.vo.MdmApplicationVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;


/**
 *@Desc:应用管理mapper
 *@author:chenmengming
 *@Time: 19-7-25 3:26
 *@Copyright: @ 2019 杭州凯立通信有限公司 版权所有
 *@Warning 本内容仅限于公司内部传阅，禁止外泄或用于其他商业目的
 */
@Mapper
public interface ApplicationMapper extends BaseMapper<MdmApplication> {

    /**
     * @Desc:  分页查询获取mdm应用
     * @author: chenmengming
     * @Time: 2019/7/26 9:56
     * @param page
     * @param dto
     * @return java.util.List<com.kaili.basic.pojo.vo.MdmApplicationVo>
     */
    List<MdmApplicationVo> getMdmApplicationByKeywords(Page<MdmApplicationVo> page, MdmApplicationQueryDto dto);

    /**
     * @Desc:  条件查询获取mdm应用
     * @author: chenmengming
     * @Time: 2019/7/26 9:56
     * @param dto
     * @return java.util.List<com.kaili.basic.pojo.vo.MdmApplicationVo>
     */
    List<MdmApplicationVo> getMdmApplicationInfo(MdmApplicationQueryDto dto);

    /**
     * @Desc:  mdm应用导出
     * @author: chenmengming
     * @Time: 2019/7/26 9:57
     * @param applicationQueryDto
     * @return java.util.List<com.kaili.basic.pojo.entity.MdmApplicationExport>
     */
    List<MdmApplicationExport> getApplicationExport(MdmApplicationQueryDto applicationQueryDto);

    /**
     * @Desc:  添加mdm应用
     * @author: chenmengming
     * @Time: 2019/7/26 9:53
     * @param mdmApplication
     * @return int
     */
    int addMdmApplication(MdmApplication mdmApplication);

    /**
     * @Desc:  修改单个mdm应用
     * @author: chenmengming
     * @Time: 2019/7/26 9:55
     * @param mdmApplication
     * @return int
     */
    int updateMdmApplication(MdmApplication mdmApplication);

    /**
     * @Desc:  批量删除mdm应用
     * @author: chenmengming
     * @Time: 2019/7/26 9:55
     * @param map
     * @return int
     */
    int deleteMdmApplication(Map<String,Object> map);

    /**
     * @Desc:  id查询获取mdm应用信息
     * @author: chenmengming
     * @Time: 2019/7/26 9:57
     * @param id
     * @return com.kaili.basic.pojo.entity.vo.MdmApplicationVo
     */
    MdmApplicationVo getMdmApplicationById(Integer id);
    /**
     * @Desc:  应用名称查询获取mdm应用信息
     * @author: chenmengming
     * @Time: 2019/8/2 9:57
     * @param appName
     * @return com.kaili.basic.pojo.entity.vo.MdmApplicationVo
     */
    MdmApplicationVo getMdmApplicationByappName(String appName);
    //存放白名单
    List<MdmApplicationVo> getWhiteList();

    //存放黑名单
    List<MdmApplicationVo> getBlackList();
}
